#ifndef __LUNA_VorbisFactory_h__
#define __LUNA_VorbisFactory_h__

#include "LUNA_Common.h"
#include "LUNA_ISoundFactory.h"

namespace LUNA
{
	struct VorbisSystem;
	class LunaExport VorbisFactory : public ISoundFactory
	{
	public:
		VorbisFactory( SoundManager &soundManager, VorbisSystem &vorbis );
		virtual ~VorbisFactory();
		
		virtual ISound *createSound( const std::string &filename );
		virtual void destroySound( ISound *sound );

	private:
		VorbisSystem &mVorbis;
	};
}

#endif